Fast Symbolic Evaluation of C/C++ Preprocessing Using Conditional Value
نویسنده
چکیده
C/C++ code relying on preprocessing can be quite complex to analyze. This is often due to free preprocessing variables set at compile time. In general, preprocessing selectively compile parts of the source code based on the values of preprocessing variables which may be free. In this case, the relations between these parts can only be represented by conditional expressions using the free variables. Traditional symbolic evaluation can be used to infer these expressions, but its best case time complexity is exponential. We present a new approach for symbolic evaluation that can efficiently compute these conditions by binding variables to conditional values and avoiding the path feasibility analysis of traditional symbolic evaluation. It infers the exact conditional expressions for which the lines of code are compiled and the (conditional) values of preprocessing variables at each point of the source code. Our prototype shows the approach as practical and scaleable to large C/C++ software.
منابع مشابه
Evaluation of the Regularization Algorithm to Decorrelation of Covariance Matrix of Float Ambiguity in Fast Resolution of GPS Ambiguity Parameters
Precise positioning in Real Time Kinematic (RTK) applications depends on the accurate resolution of the phase ambiguities. In RTK positioning, ambiguity parameters are highly correlated, especially when the positioning rate is high. Consequently, application of de-correlation techniques for the accurate resolution of ambiguities is inevitable. Phase ambiguity as positioning observations by the ...
متن کاملSound Symbolic Linking in the Presence of Preprocessing
Formal verification enables developers to provide safety and security guarantees about their code. A modular verification approach supports the verification of different pieces of an application in separation. We propose symbolic linking as such a modular approach, since it allows to decide whether or not earlier verified source files can be safely linked together (i.e. earlier proven propertie...
متن کاملDetermination of Peeling Efficiency, Free Fatty Acid, Peroxide Value and Sensory Evaluation of Peeled Pistachio Kernel using Hot Water
Pistachio green kernel, is obtained by removing the red testa of around the whole kernel. In this study, the suitable peeling conditions for removing the testa of the kernel were determined using hot water in five termperature levels of 75, 80, 85, 90, and 95°C and diffetent hot water immersion times of 2, 4, 6, 8, and 10 minutes in riped and unripe samples. Quality factors including the number...
متن کاملA Critical Examination of Ibn-Sina’s Theory of the Conditional Syllogism
This paper will examine Ibn Sina’s theory of the Conditional Syllogism from a purely logical point of view, and will lay bare the principles he adopted for founding his theory, and the reason why the newly introduced part of his logic remained undeveloped and eventually was removed from the texts of logic in the later Islamic tradition. As a preliminary discussion, this paper briefly examines I...
متن کاملOn implementing the symbolic preprocessing function over Boolean polynomial rings in Gröbner basis algorithms using linear algebra
Linear algebra is introduced by Faugère in F4 to speed up the reduction procedure during Gröbner basis computations. Linear algebra has also been used in fast implementations of F5 and other signature-based Gröbner basis algorithms. To use linear algebra for reductions, an important step is constructing matrices from critical pairs and existing polynomials by the Symbolic Preprocessing function...
متن کامل